package com.ruoyi.swla2.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * GIS管网-管线对象 gis_line
 *
 * @author gdqt
 * @date 2023-11-26
 */
public class GisLine extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 自增ID
     */
    private Long id;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 图层ID
     */
    @Excel(name = "图层ID")
    private Integer layerId;

    /**
     * 起点编号,使用管线起点的EXP_NO字段值
     */
    @Excel(name = "起点编号,使用管线起点的EXP_NO字段值")
    private String sPoint;

    /**
     * 终点编号,使用管线终点的EXP_NO字段值
     */
    @Excel(name = "终点编号,使用管线终点的EXP_NO字段值")
    private String ePoint;

    /**
     * 管径
     */
    @Excel(name = "管径")
    private String dn;

    /**
     * 材质
     */
    @Excel(name = "材质")
    private String material;

    /**
     * 所在道路
     */
    @Excel(name = "所在道路")
    private String road;

    /**
     * 地址
     */
    @Excel(name = "地址")
    private String address;

    /**
     * 起点埋深，米
     */
    @Excel(name = "起点埋深，米")
    private Double sDeep;

    /**
     * 终点埋深，米
     */
    @Excel(name = "终点埋深，米")
    private Double eDeep;

    /**
     * 建设日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "建设日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date mdate;

    /**
     * 流向,值为0或1，0表示水流方向与起点到终点方向一致；1表示水流方向与起点到终点方向相反
     */
    @Excel(name = "流向,值为0或1，0表示水流方向与起点到终点方向一致；1表示水流方向与起点到终点方向相反")
    private Integer flowD;

    /**
     * 长度,管线长度
     */
    @Excel(name = "长度,管线长度")
    private Double lineLength;

    /**
     * 验收日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "验收日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cdate;

    /**
     * 详情
     */
    @Excel(name = "详情")
    private String detail;

    /**
     * 入库日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date surDate;

    /**
     * 更新日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dbDate;

    /**
     * 工程号
     */
    @Excel(name = "工程号")
    private String pId;

    /**
     * 坐标数据
     */
    @Excel(name = "坐标数据")
    private String geom;

    @TableField(exist = false)
    private String coordinates;

    /**
     * 管线宽度
     */
    @Excel(name = "管线宽度")
    private Integer lineWidth;

    /**
     * 管线颜色
     */
    @Excel(name = "管线颜色")
    private String lineColor;

    /**
     * 是否删除，0否，1是
     */
    private Integer izDeleted;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setLayerId(Integer layerId) {
        this.layerId = layerId;
    }

    public Integer getLayerId() {
        return layerId;
    }

    public void setsPoint(String sPoint) {
        this.sPoint = sPoint;
    }

    public String getsPoint() {
        return sPoint;
    }

    public void setePoint(String ePoint) {
        this.ePoint = ePoint;
    }

    public String getePoint() {
        return ePoint;
    }

    public void setDn(String dn) {
        this.dn = dn;
    }

    public String getDn() {
        return dn;
    }

    public void setMaterial(String material) {
        this.material = material;
    }

    public String getMaterial() {
        return material;
    }

    public void setRoad(String road) {
        this.road = road;
    }

    public String getRoad() {
        return road;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setsDeep(Double sDeep) {
        this.sDeep = sDeep;
    }

    public Double getsDeep() {
        return sDeep;
    }

    public void seteDeep(Double eDeep) {
        this.eDeep = eDeep;
    }

    public Double geteDeep() {
        return eDeep;
    }

    public void setMdate(Date mdate) {
        this.mdate = mdate;
    }

    public Date getMdate() {
        return mdate;
    }

    public void setFlowD(Integer flowD) {
        this.flowD = flowD;
    }

    public Integer getFlowD() {
        return flowD;
    }

    public void setLineLength(Double lineLength) {
        this.lineLength = lineLength;
    }

    public Double getLineLength() {
        return lineLength;
    }

    public void setCdate(Date cdate) {
        this.cdate = cdate;
    }

    public Date getCdate() {
        return cdate;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }

    public String getDetail() {
        return detail;
    }

    public void setSurDate(Date surDate) {
        this.surDate = surDate;
    }

    public Date getSurDate() {
        return surDate;
    }

    public void setDbDate(Date dbDate) {
        this.dbDate = dbDate;
    }

    public Date getDbDate() {
        return dbDate;
    }

    public void setpId(String pId) {
        this.pId = pId;
    }

    public String getpId() {
        return pId;
    }

    public void setGeom(String geom) {
        this.geom = geom;
    }

    public String getGeom() {
        return geom;
    }

    public String getCoordinates() {
        return coordinates;
    }

    public void setCoordinates(String coordinates) {
        this.coordinates = coordinates;
    }

    public void setLineWidth(Integer lineWidth) {
        this.lineWidth = lineWidth;
    }

    public Integer getLineWidth() {
        return lineWidth;
    }

    public void setLineColor(String lineColor) {
        this.lineColor = lineColor;
    }

    public String getLineColor() {
        return lineColor;
    }

    public void setIzDeleted(Integer izDeleted) {
        this.izDeleted = izDeleted;
    }

    public Integer getIzDeleted() {
        return izDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("tenantId", getTenantId())
                .append("layerId", getLayerId())
                .append("sPoint", getsPoint())
                .append("ePoint", getePoint())
                .append("dn", getDn())
                .append("material", getMaterial())
                .append("road", getRoad())
                .append("address", getAddress())
                .append("sDeep", getsDeep())
                .append("eDeep", geteDeep())
                .append("mdate", getMdate())
                .append("flowD", getFlowD())
                .append("lineLength", getLineLength())
                .append("cdate", getCdate())
                .append("detail", getDetail())
                .append("surDate", getSurDate())
                .append("dbDate", getDbDate())
                .append("pId", getpId())
                .append("remark", getRemark())
                .append("geom", getGeom())
                .append("lineWidth", getLineWidth())
                .append("lineColor", getLineColor())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("izDeleted", getIzDeleted())
                .toString();
    }
}
